<?php

namespace Application\Model\Entity;

use Zend\Db\Adapter\Adapter;

class Procesa
{
    private $mesa_entrada;
    private $adapt_transacciones;
    private $adapt_sapientia;
    private $tipo_solicitud;
    
    public function __construct($mesa_entrada, $tipo_solicitud, $adapt_transacciones, $adapt_sapientia) 
    //public function __construct($mesa_entrada, $adapt_transacciones, $adapt_sapientia) 
    {
        $this->mesa_entrada = $mesa_entrada;            
        $this->adapt_transacciones = $adapt_transacciones;
        $this->adapt_sapientia = $adapt_sapientia;
        $this->tipo_solicitud = $tipo_solicitud;
    }
    
    public function ObtenerDatosAlumno()
    {
        $entrada = $this->mesa_entrada;
        $datos_alumno = $this->adapt_transacciones->query("SELECT us.Nombre, us.Apellido, us.Cedula, us.Email, us.Telefono
                                                           FROM usuarios AS us INNER JOIN formularios AS form ON form.id_usuario = us.id_usuario
                                                                                where form.mesa_entrada = $entrada",Adapter::QUERY_MODE_EXECUTE);
//INNER JOIN solicitud_realizada AS sol ON sol.mesa_entrada = form.mesa_entrada
        $datos_alumno = $datos_alumno->toArray();
        return $datos_alumno;
    }
    
    public function ObtenerDatosPorFormulario()
    {
        $entrada = $this->mesa_entrada;
        //$tipo_solicitud = $this->tipo_solicitud;
      
        $creditos = $this->adapt_transacciones->query("SELECT mesa_entrada
                                                       FROM creditos_academicos
                                                       WHERE mesa_entrada = $entrada",Adapter::QUERY_MODE_EXECUTE);
        $creditos = $creditos->toArray();
        $creditos = $creditos[0][mesa_entrada];
      
        $extra = $this->adapt_transacciones->query("SELECT mesa_entrada
                                                    FROM examen_extraordinario
                                                    WHERE mesa_entrada = $entrada",Adapter::QUERY_MODE_EXECUTE);
        $extra = $extra->toArray();
        $extra = $extra[0][mesa_entrada];
      
       if ($entrada == $creditos){
            $formu=$this->adapt_transacciones->query("SELECT actividades
                                                      FROM creditos_academicos
                                                      WHERE mesa_entrada = $entrada",Adapter::QUERY_MODE_EXECUTE);
            $formu=$formu->toArray();
        }
       if($entrada == $extra){
            $formu=$this->adapt_transacciones->query("SELECT nombre_profesor, nombre_materia
                                                      FROM examen_extraordinario
                                                      WHERE mesa_entrada = $entrada",Adapter::QUERY_MODE_EXECUTE);
            $formu=$formu->toArray();
        }
        
        return $formu;
    }
    
    public function ObtenerDocAdj()
    {     
        $entrada = $this->mesa_entrada;
        
        $creditos = $this->adapt_transacciones->query("SELECT mesa_entrada
                                                       FROM creditos_academicos
                                                       WHERE mesa_entrada = $entrada",Adapter::QUERY_MODE_EXECUTE);
        $creditos = $creditos->toArray();
        $creditos = $creditos[0][mesa_entrada];
        
        $titulo = $this->adapt_transacciones->query("SELECT mesa_entrada
                                                     FROM titulo_universitario
                                                     WHERE mesa_entrada = $entrada",Adapter::QUERY_MODE_EXECUTE);
        $titulo = $titulo->toArray();
        $titulo = $titulo[0][mesa_entrada];
        
        $extra = $this->adapt_transacciones->query("SELECT mesa_entrada
                                                    FROM examen_extraordinario
                                                    WHERE mesa_entrada = $entrada",Adapter::QUERY_MODE_EXECUTE);
        $extra = $extra->toArray();
        $extra = $extra[0][mesa_entrada];
        
        $exon = $this->adapt_transacciones->query("SELECT mesa_entrada
                                                   FROM exoneracion_de_asistencia
                                                   WHERE mesa_entrada = $entrada",Adapter::QUERY_MODE_EXECUTE);
        $exon = $exon->toArray();
        $exon = $exon[0][mesa_entrada];
        
        $reduc = $this->adapt_transacciones->query("SELECT mesa_entrada
                                                    FROM reduccion_de_asistencia
                                                    WHERE mesa_entrada = $entrada",Adapter::QUERY_MODE_EXECUTE);
        $reduc = $reduc->toArray();
        $reduc = $reduc[0][mesa_entrada];
        
        if ($entrada == $creditos){
            $docadj=$this->adapt_transacciones->query("SELECT tipo_documento_anexo
                                                       FROM creditos_academicos
                                                       WHERE mesa_entrada = $entrada",Adapter::QUERY_MODE_EXECUTE);
            $docadj=$docadj->toArray();
        }
        if ($entrada == $titulo){
            $docadj=$this->adapt_transacciones->query("SELECT tipo_documento_anexo
                                                       FROM titulo_universitario
                                                       WHERE mesa_entrada = $entrada",Adapter::QUERY_MODE_EXECUTE);
            $docadj=$docadj->toArray();
        }
        if($entrada == $extra){
            $docadj=$this->adapt_transacciones->query("SELECT tipo_documento_anexo
                                                       FROM examen_extraordinario
                                                       WHERE mesa_entrada = $entrada",Adapter::QUERY_MODE_EXECUTE);
            $docadj=$docadj->toArray();
            //print'HOLA GIGI extraordinario';
        }       
        if($entrada == $exon){
            $docadj=$this->adapt_transacciones->query("SELECT tipo_documento_anexo
                                                       FROM exoneracion_de_asistencia
                                                       WHERE mesa_entrada = $entrada",Adapter::QUERY_MODE_EXECUTE);
            $docadj=$docadj->toArray();
        }
        if($entrada == $reduc){
            $docadj=$this->adapt_transacciones->query("SELECT tipo_documento_anexo
                                                       FROM reduccion_de_asistencia
                                                       WHERE mesa_entrada = $entrada",Adapter::QUERY_MODE_EXECUTE);
            $docadj=$docadj->toArray();
        }  
      
        return $docadj;
    }
    
    public function ObtenerMotivo() 
    {
        $entrada = $this->mesa_entrada;
        
        $extra = $this->adapt_transacciones->query("SELECT mesa_entrada
                                                    FROM examen_extraordinario
                                                    WHERE mesa_entrada = $entrada",Adapter::QUERY_MODE_EXECUTE);
        $extra = $extra->toArray();
        $extra = $extra[0][mesa_entrada];
        
        $revision = $this->adapt_transacciones->query("SELECT mesa_entrada
                                                       FROM revision_de_examen_final
                                                       WHERE mesa_entrada = $entrada",Adapter::QUERY_MODE_EXECUTE);
        $revision = $revision->toArray();
        $revision = $revision[0][mesa_entrada];
        
        $insctardia = $this->adapt_transacciones->query("SELECT mesa_entrada
                                                         FROM inscripcion_tardia_a_examen
                                                         WHERE mesa_entrada = $entrada",Adapter::QUERY_MODE_EXECUTE);
        $insctardia = $insctardia->toArray();
        $insctardia = $insctardia[0][mesa_entrada];
        
        $ruptura = $this->adapt_transacciones->query("SELECT mesa_entrada
                                                      FROM ruptura_de_correlatividad
                                                      WHERE mesa_entrada = $entrada",Adapter::QUERY_MODE_EXECUTE);
        $ruptura = $ruptura->toArray();
        $ruptura = $ruptura[0][mesa_entrada];
        
        $reduccion = $this->adapt_transacciones->query("SELECT mesa_entrada
                                                        FROM reduccion_de_asistencia
                                                        WHERE mesa_entrada = $entrada",Adapter::QUERY_MODE_EXECUTE);
        $reduccion = $reduccion->toArray();
        $reduccion = $reduccion[0][mesa_entrada];
        
        $inclusion = $this->adapt_transacciones->query("SELECT mesa_entrada
                                                        FROM inclusion_en_lista
                                                        WHERE mesa_entrada = $entrada",Adapter::QUERY_MODE_EXECUTE);
        $inclusion = $inclusion->toArray();
        $inclusion = $inclusion[0][mesa_entrada];
        
        $cambioseccion = $this->adapt_transacciones->query("SELECT mesa_entrada
                                                            FROM cambio_de_seccion
                                                            WHERE mesa_entrada = $entrada",Adapter::QUERY_MODE_EXECUTE);
        $cambioseccion =  $cambioseccion->toArray();
        $cambioseccion =  $cambioseccion[0][mesa_entrada];
        
        $revision = $this->adapt_transacciones->query("SELECT mesa_entrada
                                                       FROM revision_de_asistencia
                                                       WHERE mesa_entrada = $entrada",Adapter::QUERY_MODE_EXECUTE);
        $revision = $revision->toArray();
        $revision = $revision[0][mesa_entrada];
        
        $exoneracion = $this->adapt_transacciones->query("SELECT mesa_entrada
                                                          FROM exoneracion_de_asistencia
                                                          WHERE mesa_entrada = $entrada",Adapter::QUERY_MODE_EXECUTE);
        $exoneracion = $exoneracion->toArray();
        $exoneracion = $exoneracion[0][mesa_entrada];
        
        $matfueramalla = $this->adapt_transacciones->query("SELECT mesa_entrada
                                                            FROM tomar_materia_fuera_de_la_malla
                                                            WHERE mesa_entrada = $entrada",Adapter::QUERY_MODE_EXECUTE);
        $matfueramalla = $matfueramalla->toArray();
        $matfueramalla = $matfueramalla[0][mesa_entrada];
        
        $desinsmat = $this->adapt_transacciones->query("SELECT mesa_entrada
                                                        FROM desinscripcion_de_materia
                                                        WHERE mesa_entrada = $entrada",Adapter::QUERY_MODE_EXECUTE);
        $desinsmat = $desinsmat->toArray();
        $desinsmat = $desinsmat[0][mesa_entrada];
        
        if($entrada == $extra){
            $motivo=$this->adapt_transacciones->query("SELECT motivo
                                                       FROM examen_extraordinario
                                                       WHERE mesa_entrada = $entrada",Adapter::QUERY_MODE_EXECUTE);
            $motivo=$motivo->toArray();
        }  
        if($entrada == $revision){
            $revision=$this->adapt_transacciones->query("SELECT motivo
                                                         FROM revision_de_examen_final
                                                         WHERE mesa_entrada = $entrada",Adapter::QUERY_MODE_EXECUTE);
            $revision=$revision->toArray();
        }
        if($entrada == $insctardia){
            $insctardia=$this->adapt_transacciones->query("SELECT motivo
                                                           FROM inscripcion_tardia_a_examen
                                                           WHERE mesa_entrada = $entrada",Adapter::QUERY_MODE_EXECUTE);
            $insctardia=$insctardia->toArray();
        }
        if($entrada == $ruptura){
            $ruptura=$this->adapt_transacciones->query("SELECT motivo
                                                        FROM ruptura_de_correlatividad
                                                        WHERE mesa_entrada = $entrada",Adapter::QUERY_MODE_EXECUTE);
            $ruptura=$ruptura->toArray();
        }
        if($entrada == $reduccion){
            $reduccion=$this->adapt_transacciones->query("SELECT motivo
                                                          FROM reduccion_de_asistencia
                                                          WHERE mesa_entrada = $entrada",Adapter::QUERY_MODE_EXECUTE);
            $reduccion=$reduccion->toArray();
        }
        if($entrada == $inclusion){
            $inclusion=$this->adapt_transacciones->query("SELECT motivo
                                                          FROM inclusion_en_lista
                                                          WHERE mesa_entrada = $entrada",Adapter::QUERY_MODE_EXECUTE);
            $inclusion=$inclusion->toArray();
        }
        if($entrada == $cambioseccion){
            $cambioseccion=$this->adapt_transacciones->query("SELECT motivo
                                                              FROM cambio_de_seccion
                                                              WHERE mesa_entrada = $entrada",Adapter::QUERY_MODE_EXECUTE);
            $cambioseccion=$inclusion->toArray();
        }
        if($entrada == $revision){
            $revision=$this->adapt_transacciones->query("SELECT motivo
                                                         FROM revision_de_asistencia
                                                         WHERE mesa_entrada = $entrada",Adapter::QUERY_MODE_EXECUTE);
            $revision=$revision->toArray();
        }
        if($entrada == $exoneracion){
            $exoneracion=$this->adapt_transacciones->query("SELECT motivo
                                                            FROM exoneracion_de_asistencia
                                                            WHERE mesa_entrada = $entrada",Adapter::QUERY_MODE_EXECUTE);
            $exoneracion=$exoneracion->toArray();
        }
        if($entrada == $matfueramalla){
            $matfueramalla=$this->adapt_transacciones->query("SELECT motivo
                                                              FROM tomar_materia_fuera_de_la_malla
                                                              WHERE mesa_entrada = $entrada",Adapter::QUERY_MODE_EXECUTE);
            $matfueramalla=$matfueramalla->toArray();
        }
        if($entrada == $desinsmat){
            $desinsmat=$this->adapt_transacciones->query("SELECT motivo
                                                          FROM desinscripcion_de_materia
                                                          WHERE mesa_entrada = $entrada",Adapter::QUERY_MODE_EXECUTE);
            $desinsmat=$desinsmat->toArray();
        }
               
        return $motivo;
    }
}    
